{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Demo: Making Visualizations in Python\n",
    "\n",
    "The next part of the lesson is about visualizing probability distributions. \n",
    "\n",
    "Python has a very useful but somewhat complicated library for creating visualizations called [matplotlib](https://matplotlib.org/).\n",
    "\n",
    "One of the best ways to learn matplotlib is by looking at examples. If you search the internet for \"matplotlib bar chart\" or \"matplotlib scatter plot\", you will find many code examples that you can learn from.\n",
    "\n",
    "To get you started, we are going to show you a few plots using matplotlib. These examples will help you for the next few parts of the coding lessons."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example: ScatterPlot\n",
    "\n",
    "One of the most common plots is an x-y scatterplot. The code below will give you a sense for how matplotlib works. You'll see that you build up a plot piece by piece.\n",
    "\n",
    "We are using some made-up data for the x and y positons of the points. Run the code below, and then we'll explain what each line is doing."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n",
    "y = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]\n",
    "\n",
    "plt.scatter(x, y)\n",
    "plt.xlabel('x values')\n",
    "plt.ylabel('y values')\n",
    "plt.title('X values versus Y values')\n",
    "plt.xticks([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Explanation of the Code\n",
    "```\n",
    "import matplotlib.pyplot as plt\n",
    "```\n",
    "\n",
    "The import statement makes the matplotlib library available to your program. 'as plt' means that we can refer to the library as plt instead of by its full name.\n",
    "\n",
    "```\n",
    "x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n",
    "y = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]\n",
    "```\n",
    "\n",
    "Here we assign values to be plotted. If you think in terms of (x, y), then the points would be (1, 2) then (2, 4) then (3, 6), etc. However, matplotlib expects the x values and y values to be in separate lists.\n",
    "\n",
    "```\n",
    "plt.scatter(x, y)\n",
    "```\n",
    "\n",
    "The `plt.scatter(x,y)` line tells Python to create a scatter plot.\n",
    "\n",
    "```\n",
    "plt.xlabel('x values')\n",
    "plt.ylabel('y values')\n",
    "plt.title('X values versus Y values')\n",
    "```\n",
    "\n",
    "These lines put labels on the x-axis, y-axis and gives the chart a title.\n",
    "\n",
    "```\n",
    "plt.xticks([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])\n",
    "```\n",
    "\n",
    "This line manually sets the x-tick marks.\n",
    "\n",
    "```\n",
    "plt.show()\n",
    "```\n",
    "\n",
    "And finally, `plt.show()` outputs the chart"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example: Bar Chart\n",
    "\n",
    "What if we take the same x and y values but instead create a bar chart? Only two things changed in the code below.\n",
    "\n",
    "Instead of a scatter plot, we've created a bar chart.\n",
    "`plt.bar(x,y)`\n",
    "\n",
    "And we modified the x tick marks so that 0 and 11 were not included. Run the code below to see what happens."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n",
    "y = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]\n",
    "\n",
    "plt.bar(x, y)\n",
    "plt.xlabel('x values')\n",
    "plt.ylabel('y values')\n",
    "plt.title('X values versus Y values')\n",
    "plt.xticks([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example: Bar Chart Again\n",
    "\n",
    "If you're familiar with bar charts, then you might remember that the x-axis is actually a discrete variable. Take a look at the code below to see how the visusalization changes. The major change in the code was that the x values are now strings instead of numerical.\n",
    "\n",
    "Run this code cell below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "x = ['apples', 'pears', 'bananas', \n",
    "     'grapes', 'melons', 'avocados', 'cherries', 'oranges', 'pumpkins',\n",
    "    'tomatoes']\n",
    "y = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]\n",
    "\n",
    "plt.bar(x, y)\n",
    "plt.xlabel('x values')\n",
    "plt.ylabel('y values')\n",
    "plt.title('X values versus Y values')\n",
    "plt.xticks(rotation=70)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Matplotlib sorts the x values alphabetically."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example: Line Chart\n",
    "\n",
    "For the final example, run the code cell below. It outputs a line plot. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n",
    "y = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]\n",
    "\n",
    "plt.plot(x, y)\n",
    "plt.xlabel('x values')\n",
    "plt.ylabel('y values')\n",
    "plt.title('X values versus Y values')\n",
    "plt.xticks([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The only line of code that changed was \n",
    "`plt.plot(x,y)` instead of `plt.bar(x,y)`. \n",
    "\n",
    "Matplotlib automatically outputs a line chart when you call plt.plot().\n",
    "\n",
    "Now that you are familiar with matplotlib, it's time to make some visualizations!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.16"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
